1. Field of the Invention
The present invention relates generally to signal processing circuits. More particularly, the present invention is a signal processing circuit to implement a Viterbi algorithm. An algorithm of this type is used especially for the correction of errors in the decoding of signals encoded with convolutive codes as well as in the decoding of lattice-encoded modulated signals. It is also used for channel equalization and voice recognition. The invention relates particularly to the first three of the above-mentioned applications although it also relates to the fourth one.
2. Discussion of the Related Art
For purposes of explanation only, the invention shall thus be explained within the context of a system for the decoding of signals transmitted by a transmission system. The signals in question are digital signals. A digital communications system shown in FIG. 1 has a digital signal source linked with a transmission unit. The transmission unit is coupled to a transmission channel. The transmission channel is also coupled to a reception unit that lets through signals that can be used by a user. The source produces a message consisting of a flow of bits. In order that the quantity of information received by the user may be as accurate as possible, the first operation performed by the transmission unit is an operation of source encoding or compression aimed at reducing the quantity of information to be transmitted. Furthermore, the transmission unit uses a channel encoder to convert the message to be transmitted into a message that is less vulnerable to disturbances in the channel. This is done by means of an operation of error correction encoding that adds redundancy to the method. The third operation performed by the transmission unit is the modulation by which the transmitted signal is adjusted to the characteristics of the channel. This operation makes use of frequency shifts. The transmission channel is a physical medium that enables communication from one point to another. The channel may be a wired connection or an RF transmission channel.
The reception unit carries out reciprocal operations. It notably has a demodulator that may carry out a channel equalizing operation and it has the function of purifying the bits received. A Viterbi algorithm may be used to carry out an equalization such as this. A channel decoder connected to the demodulator detects and corrects the bit errors resulting from transmission by the transmission channel. It is notably more complicated than the channel encoder. Finally, a source decoder connected to the channel decoder reproduces the original signal. The source decoder is generally less complicated than the source encoder.
It is known that there are four types of modulation:
amplitude modulation (AM); PA1 frequency shift keying (FSK); PA1 phase shift keying (PSK); and PA1 quadrature amplitude modulation (QAM).
In phase shift keying, the phase of the carrier is transmitted with shifts, for example in phase or in phase opposition depending on whether a 1 or a 0 is to be transmitted. This corresponds to binary phase-shift keying. However, there also is a known way of using the smaller phase shifts of the carrier. Thus, in quadrature phase-shift keying (QPSK), it is possible to transmit two bits with a single phase signal. In practice, problems of technical construction limit the phase shifts to one 8 PSK type modulation enabling the transmission of three bits per second and by Hertz.
For higher spectral efficiency, the modulation used is the amplitude and phase modulation, also known as QAM (quadrature amplitude modulation), is used, notably the so-called 16 QAM modulation that enables the sending of up to four bits per second by RF means. In the field of high definition television, 1024 QAM type modulation is known. Such types of modulation make it possible notably to have bit rates of 30 Mbits per second in an 8 MHZ passband.
There are three types of transmission channels. When the transmission unit has a direct and unique link with the transmission unit, the channel is said to be a Gaussian channel. It is known that such a channel adds Gaussian noise to the modulated signal transmitted. By contrast, when the reception unit is connected to the transmission unit by a non-unique channel, producing notably echoes by signal reflection, this channel is called a Rice channel. Finally, when there is no direct link, the channel is called a Rayleigh channel. These last-named two channels are fading channels and must be considered notably for communication with moving bodies, especially in GSM type telephone systems.
Another defect shown by transmission channels is inter-symbol interference. The lower the period of the transmitted signal as compared with the pulse response of the channel, the more perceptible is this defect of inter-symbol interference. However, depending on the knowledge of this pulse response, it is possible to make a subtraction, from the signals received, of the contribution due to previous signals. This procedure is also called equalization. A procedure such as this may be implemented in different and varyingly complex ways. One of the most appropriate ways consists in implementing the Viterbi algorithm.